broadway: Remove window translation code
authorAlexander Larsson <alexl@redhat.com>
Wed, 6 Nov 2013 11:31:27 +0000 (12:31 +0100)
committerAlexander Larsson <alexl@redhat.com>
Thu, 7 Nov 2013 13:09:53 +0000 (14:09 +0100)
This is no longer used as we neutered gdk_window_scroll & co.

gdk/broadway/broadway-output.c
gdk/broadway/broadway-output.h
gdk/broadway/broadway-protocol.h
gdk/broadway/broadway-server.c
gdk/broadway/broadway.js
gdk/broadway/broadwayd.c
gdk/broadway/gdkbroadway-server.c

index 96b6f71e760ada799ed7772dab5f6a4ada60f048..bcae8b82e2489ca9d6986a071ab028167354822f 100644 (file)
@@ -209,27 +209,6 @@ write_header(BroadwayOutput *output, char op)
   append_uint32 (output, output->serial++);
 }
 
-void
-broadway_output_copy_rectangles (BroadwayOutput *output,  int id,
-                                BroadwayRect *rects, int n_rects,
-                                int dx, int dy)
-{
-  int i;
-
-  write_header (output, BROADWAY_OP_COPY_RECTANGLES);
-  append_uint16 (output, id);
-  append_uint16 (output, n_rects);
-  for (i = 0; i < n_rects; i++)
-    {
-      append_uint16 (output, rects[i].x);
-      append_uint16 (output, rects[i].y);
-      append_uint16 (output, rects[i].width);
-      append_uint16 (output, rects[i].height);
-    }
-  append_uint16 (output, dx);
-  append_uint16 (output, dy);
-}
-
 void
 broadway_output_grab_pointer (BroadwayOutput *output,
                              int id,
index 487dfad73663cf49bfcb51c0653cca12dd1c7c41..4a7f2611fbfc607820925a8ba6dfd12a11f431b7 100644 (file)
@@ -67,12 +67,6 @@ void            broadway_output_put_rgba        (BroadwayOutput *output,
                                                 void           *data);
 void            broadway_output_surface_flush   (BroadwayOutput *output,
                                                 int             id);
-void            broadway_output_copy_rectangles (BroadwayOutput *output,
-                                                int             id,
-                                                BroadwayRect   *rects,
-                                                int             n_rects,
-                                                int             dx,
-                                                int             dy);
 void            broadway_output_grab_pointer    (BroadwayOutput *output,
                                                 int id,
                                                 gboolean owner_event);
index fe7a8a4fe57a1c08e89bfb3d332396686701a892..d16d27996d71d4d1312f76bc333631702388eb4c 100644 (file)
@@ -25,7 +25,6 @@ typedef enum {
 } BroadwayEventType;
 
 typedef enum {
-  BROADWAY_OP_COPY_RECTANGLES = 'b',
   BROADWAY_OP_GRAB_POINTER = 'g',
   BROADWAY_OP_UNGRAB_POINTER = 'u',
   BROADWAY_OP_NEW_SURFACE = 's',
@@ -127,7 +126,6 @@ typedef enum {
   BROADWAY_REQUEST_SHOW_WINDOW,
   BROADWAY_REQUEST_HIDE_WINDOW,
   BROADWAY_REQUEST_SET_TRANSIENT_FOR,
-  BROADWAY_REQUEST_TRANSLATE,
   BROADWAY_REQUEST_UPDATE,
   BROADWAY_REQUEST_MOVE_RESIZE,
   BROADWAY_REQUEST_GRAB_POINTER,
index 114c6505cae75ae07bc751c01ed7569c87141e35..d51551d67f1e23a58e0d6080c11b34233a4b3517 100644 (file)
@@ -1380,97 +1380,6 @@ broadway_server_has_client (BroadwayServer *server)
   return server->output != NULL;
 }
 
-static void
-_cairo_region (cairo_t         *cr,
-              const cairo_region_t *region)
-{
-  cairo_rectangle_int_t box;
-  gint n_boxes, i;
-
-  g_return_if_fail (cr != NULL);
-  g_return_if_fail (region != NULL);
-
-  n_boxes = cairo_region_num_rectangles (region);
-
-  for (i = 0; i < n_boxes; i++)
-    {
-      cairo_region_get_rectangle (region, i, &box);
-      cairo_rectangle (cr, box.x, box.y, box.width, box.height);
-    }
-}
-
-
-static void
-copy_region (cairo_surface_t *surface,
-            cairo_region_t *area,
-            gint            dx,
-            gint            dy)
-{
-  cairo_t *cr;
-
-  cr = cairo_create (surface);
-  cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-
-  _cairo_region (cr, area);
-  cairo_clip (cr);
-
-  /* NB: This is a self-copy and Cairo doesn't support that yet.
-   * So we do a litle trick.
-   */
-  cairo_push_group (cr);
-
-  cairo_set_source_surface (cr, surface, dx, dy);
-  cairo_paint (cr);
-
-  cairo_pop_group_to_source (cr);
-  cairo_paint (cr);
-
-  cairo_destroy (cr);
-}
-
-gboolean
-broadway_server_window_translate (BroadwayServer *server,
-                                 gint id,
-                                 cairo_region_t *area,
-                                 gint            dx,
-                                 gint            dy)
-{
-  BroadwayWindow *window;
-  gboolean sent = FALSE;
-
-  window = g_hash_table_lookup (server->id_ht,
-                               GINT_TO_POINTER (id));
-  if (window == NULL)
-    return FALSE;
-
-  if (window->last_synced &&
-      server->output)
-    {
-      BroadwayRect *rects;
-      cairo_rectangle_int_t rect;
-      int i, n_rects;
-
-      copy_region (window->last_surface, area, dx, dy);
-      n_rects = cairo_region_num_rectangles (area);
-      rects = g_new (BroadwayRect, n_rects);
-      for (i = 0; i < n_rects; i++)
-       {
-         cairo_region_get_rectangle (area, i, &rect);
-         rects[i].x = rect.x;
-         rects[i].y = rect.y;
-         rects[i].width = rect.width;
-         rects[i].height = rect.height;
-       }
-      broadway_output_copy_rectangles (server->output,
-                                      window->id,
-                                      rects, n_rects, dx, dy);
-      g_free (rects);
-      sent = TRUE;
-    }
-
-  return sent;
-}
-
 static void
 diff_surfaces (cairo_surface_t *surface,
               cairo_surface_t *old_surface)
index 4610c54d0fe6e69125daa264e3d76cfc0ca3be50..8619f618c2df7a7d7ef2b3bb62ec2276d9587532 100644 (file)
@@ -156,23 +156,6 @@ function flushSurface(surface)
            context.drawImage(cmd.img, cmd.x, cmd.y);
            break;
 
-       case 'b': // copy rects
-           context.save();
-           context.beginPath();
-
-           for (var j = 0; j < cmd.rects.length; j++) {
-               var rect = cmd.rects[j];
-               context.rect(rect.x, rect.y, rect.w, rect.h);
-           }
-           context.clip();
-           // This seems to break chrome when src overlaps dest
-           // But source-over should be fine for rgb surfaces anyway
-           //context.globalCompositeOperation = "copy";
-           context.drawImage(surface.canvas,
-                             cmd.dx, cmd.dy);
-           context.restore();
-           break;
-
        default:
            alert("Unknown drawing op " + cmd.op);
        }
index 3590e19b7ed87c18fda8ff8f23d763e38f5e79a7..eb985285244ad13b2b498fbd1a9a438d8629f74e 100644 (file)
@@ -124,26 +124,6 @@ send_reply (BroadwayClient *client,
     }
 }
 
-static cairo_region_t *
-region_from_rects (BroadwayRect *rects, int n_rects)
-{
-  cairo_region_t *region;
-  cairo_rectangle_int_t *cairo_rects;
-  int i;
-  
-  cairo_rects = g_new (cairo_rectangle_int_t, n_rects);
-  for (i = 0; i < n_rects; i++)
-    {
-      cairo_rects[i].x = rects[i].x;
-      cairo_rects[i].y = rects[i].y;
-      cairo_rects[i].width = rects[i].width;
-      cairo_rects[i].height = rects[i].height;
-    }
-  region = cairo_region_create_rectangles (cairo_rects, n_rects);
-  g_free (cairo_rects);
-  return region;
-}
-
 void
 add_client_serial_mapping (BroadwayClient *client,
                           guint32 client_serial,
@@ -217,7 +197,6 @@ client_handle_request (BroadwayClient *client,
   BroadwayReplyQueryMouse reply_query_mouse;
   BroadwayReplyGrabPointer reply_grab_pointer;
   BroadwayReplyUngrabPointer reply_ungrab_pointer;
-  cairo_region_t *area;
   cairo_surface_t *surface;
   guint32 before_serial, now_serial;
 
@@ -274,16 +253,6 @@ client_handle_request (BroadwayClient *client,
                                                request->set_transient_for.id,
                                                request->set_transient_for.parent);
       break;
-    case BROADWAY_REQUEST_TRANSLATE:
-      area = region_from_rects (request->translate.rects,
-                               request->translate.n_rects);
-      broadway_server_window_translate (server,
-                                       request->translate.id,
-                                       area,
-                                       request->translate.dx,
-                                       request->translate.dy);
-      cairo_region_destroy (area);
-      break;
     case BROADWAY_REQUEST_UPDATE:
       surface = broadway_server_open_surface (server,
                                              request->update.id,
index 5017ef27e3658a6bbb818a2d598542dffea171da..268f9f5c6c9c6f89a3bf216e3fe21ff5a80721ff 100644 (file)
@@ -509,43 +509,6 @@ _gdk_broadway_server_window_set_transient_for (GdkBroadwayServer *server,
                                    BROADWAY_REQUEST_SET_TRANSIENT_FOR);
 }
 
-gboolean
-_gdk_broadway_server_window_translate (GdkBroadwayServer *server,
-                                      gint id,
-                                      cairo_region_t *area,
-                                      gint            dx,
-                                      gint            dy)
-{
-  BroadwayRequestTranslate *msg;
-  cairo_rectangle_int_t rect;
-  int i, n_rects;
-  gsize msg_size;
-
-  n_rects = cairo_region_num_rectangles (area);
-
-  msg_size = sizeof (BroadwayRequestTranslate) + (n_rects-1) * sizeof (BroadwayRect);
-  msg = g_malloc (msg_size);
-
-  msg->id = id;
-  msg->dx = dx;
-  msg->dy = dy;
-  msg->n_rects = n_rects;
-  
-  for (i = 0; i < n_rects; i++)
-    {
-      cairo_region_get_rectangle (area, i, &rect);
-      msg->rects[i].x = rect.x;
-      msg->rects[i].y = rect.y;
-      msg->rects[i].width = rect.width;
-      msg->rects[i].height = rect.height;
-    }
-
-  gdk_broadway_server_send_message_with_size (server, (BroadwayRequestBase *)msg, msg_size,
-                                             BROADWAY_REQUEST_TRANSLATE);
-  g_free (msg);
-  return TRUE;
-}
-
 static void *
 map_named_shm (char *name, gsize size)
 {